/* friends.c -- 使用指向结构的指针 */
#include <stdio.h>
#define LEN 20
struct names
{
    char first[LEN];
    char last[LEN];
};

struct guy
{
    struct names handle;
    char favfood[LEN];
    char job[LEN];
    float income;
};

int main(void)
{
    struct guy fellow[2] = {
        {{"Ewen", "Villard"},
         "grilled salmon",
         "personality coach",
         68112.00},
        {{"Rodney", "Swillbelly"},
         "tripe",
         "tabloid editor",
         432400.00}};
    struct guy *him; /* 这是一个指向结构的指针 */
    
    printf("address #1: %p #2: %p\n", &fellow[0], &fellow[1]);
    him = &fellow[0]; /* 告诉编译器该指针指向何处 */
    printf("pointer #1: %p #2: %p\n", him, him + 1);
    printf("him->income is $%.2f: (*him).income is $%.2f\n",
           him->income, (*him).income);
    
    him++; /* 指向下一个结构  */
    printf("him->favfood is %s: him->handle.last is %s\n",
           him->favfood, (*him).handle.last);
    return 0;
}